"""
至此，我们已经学会了 try-except 的语法，接下来我们看他是如何精准的捕获 指定的异常的

格式：
    try:
        可能出现问题的代码
    except Exception as e:
        出现问题后的解决方案

格式解释：
    Exception  所有的异常的父类， 即 他可以代表所有的异常
    e  就是一个别名，或者变量名 ，这里他是 异常对象的名称

细节：
    这里还可以写成 except (异常1,异常2) as e 这种写法是捕获多种异常
"""

print('程序开始了')

# f = open('1.txt','r') FileNotFoundError
# i = 10 / 0  ZeroDivisionError:

# 演示多个异常同时捕获
try:
    # f = open('1.txt', 'r')
    i = 10 / 0
except (FileNotFoundError,ZeroDivisionError) as e:
    print(f'出现了异常{e}')




# 演示 单一异常解决方案

# try:
#     f = open('1.txt', 'r')
# except FileNotFoundError as e:
#     print(f'出现了异常{e}')
#
# try:
#     i = 10 / 0
# except ZeroDivisionError as e:
#     print(f'出现了异常{e}')


# 万能的异常解决方式
# try:
#     # f = open('1.txt','r')
#     i = 10/0
# except Exception as e:
#     print(f'程序出现了异常:{e}')

print('程序结束了')